#include <bits/stdc++.h>
using namespace std;
using i8 = int8_t;
using i16 = int16_t;
using i32 = int32_t;
using i64 = int64_t;
using isize = ptrdiff_t;
using u8 = uint8_t;
using u16 = uint16_t;
using u32 = uint32_t;
using u64 = uint64_t;
using usize = size_t;
using f32 = float_t;
using f64 = double_t;
inline constexpr i32 Modulus = 1e9 + 7;
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
string str;
cin >> str;
u32 length = str.length();
u32 maxFreq = (length + 1) / 2;
auto freq = vector<u32>(26, 0);
for (auto ch : str)
{
u32 key = ch - 'A';
freq[key] += 1;
if (freq[key] > maxFreq)
{
cout << -1;
return 0;
}
}
string answer;
answer.reserve(length);
while (answer.length() < length)
{
maxFreq = (length - answer.length()) / 2;
for (u32 key = 0; key < 26; key += 1)
{
if (freq[key] > maxFreq)
{
answer.push_back(key + 'A');
freq[key] -= 1;
break;
}
}
for (u32 key = 0; key < 26; key += 1)
{
if (freq[key] == 0)
{
continue;
}
char ch = key + 'A';
if (!answer.empty() && ch == answer.back())
{
continue;
}
answer.push_back(ch);
freq[key] -= 1;
break;
}
}
cout << answer;
return 0;
}